梦入琼楼寒有月,行过石树冻无烟

PHP 数据类型转换

在PHP语言之中,主要存在两种类型转换,分别为隐式类型转换显式类型转换两种,而在通常的编程语言中。主要称隐式类型转换为“自动类型转换”,而显式类型转换主要被称之为“强制类型转换”两种。

自动类型转换(隐式类型转换)

数值+字符串 (字符串)!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
</head>
<body>
<?php
$one = 10;
$two = 'String';
echo $one,$two;
?>
</body>
</html>

此时原本的$one变量是一个整数的,但经过于字符串变量“two”连接,将会被自动转换为字符串类型

字符串+字符串 (整型)!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>data</title>
</head>
<body>
<?php
$one = "1"; // 字符串
$two = "a"; // 字符串
$num = $one + $two;
echo "$num";
?>
</body>
</html>

此时经过隐式类型转换,“1”与“a”相加,输出结果为“1”,将会被自动转换为“整型”

字符串+浮点数(浮点型)!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
</head>
<body>
<?php
$one = "1";
$two = $one + 3.14;
echo "$two";
?>
</body>
</html>

经过字符串与浮点数的相加,最后得出的结果类型将会被自动转换成‘**”整数型”**

强制类型转换(显性类型转换)

整型 (int)
字符串转整型 (int)
1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
</head>
<body>
<?php
$one = (int)"hello,world!";
echo "$one";
?>
</body>
</html>
浮点型转整型
1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
</head>
<body>
<?php
$one = (int)3.14;
echo "$one";
?>
</body>
</html>
布尔转整型
1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
</head>
<body>
<?php
$one = (int)false;
echo "$one";
?>
</body>
</html>
字符串(int)
整型转字符串
1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
</head>
<body>
<?php
$one = (string)10;
echo "$one";
?>
</body>
</html>
浮点型转字符串
1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
</head>
<body>
<?php
$one = (string)3.14;
echo "$one";
?>
</body>
</html>
浮点型 (float)
整型转浮点型
1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
</head>
<body>
<?php
$one = (float)3; // 浮点型结果为 3.00
echo "$one";
?>
</body>
</html>

布尔型(bool,boolean)

变量为布尔型 (bool)!
1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
</head>
<body>
<?php
$one = (bool)1; // 经过布尔转换值应为“true”
echo "$one";
?>
</body>
</html>
变量为布尔型 (boolean)
1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
</head>
<body>
<?php
$one = (boolean)0; // 经过布尔转换值应为“false”
echo "$one";
?>
</body>
</html>

数组 (extract)

数组转字符串
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
</head>
<body>
<?php
$arrayName = array('key1' => 1,'key2' => 2,'key3' => 3);
extract($arrayName);
echo "$key1";
?>
</body>
</html>
ID DA FA
(int),(integer) 转换为整型 整型
(string) 转换为字符串 字符串
(float),(double),(real) 转换为浮点型 浮点型
(bool),(boolean) 转换为布尔 布尔型
(array) 转换为数组 数组
extract 数组转字符串
(object) 转换为对象 对象
⬅️ Go back